﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Elysium.Demo;
using SIIE_ERP.Codigo;
using SIIE_ERP.View;
using SIIE_ERP.BaseDatos;
using System.Data;
using SIIE_ERP.Codigo.Ventas;
using SIIE_ERP.BaseDatos.Inventarios.Catalogos;
using System.Globalization;
using SIIE_ERP.BaseDatos.Ventas.Transacciones;
using Elysium.Demo.Informes;

namespace Elysium.Demo.Ventas.Transacciones
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class Pedido_Edita : UserControl, IPropiedadesNavegacion
    {

        ////////////////////////////////////////////////////////////////////////////
        //  PROPIEDADES DE NAVEGACION
        public string Texto { get { return _texto; } }
        public TabControl TabControlPadre { get { return _tabControlPadre; } }
        public TabItem TabItemPadre { get { return _tabItemPadre; } }

        private string _texto;
        private TabControl _tabControlPadre;
        private TabItem _tabItemPadre;

        public void setParametros(string Texto, ref TabControl tabControl, ref TabItem tabItem)
        {
            this._texto = Texto; this._tabControlPadre = tabControl; this._tabItemPadre = tabItem;
        }

        private void ButtonRegresar_Click(object sender, RoutedEventArgs e)
        {
            _tabControlPadre.Items.Remove(_tabItemPadre);
        }
        // FIN DE PROPIEDADES DE NAVEGACION
        ///////////////////////////////////////////////////////////////////////////

        private UsuarioActivo _sesion;
        private Int32 Id;

        private double PrecioCostoOriginal;
        private double PrecioMinimoOriginal;
        private Int32 Id_ArticuloActual;

        public Pedido_Edita(UsuarioActivo usuario, String Id)
        {
            InitializeComponent();
            this._sesion = usuario;
            this.Id = Int32.Parse(Id);
            CargaCatalogos();
            CargaDatos();
        }

        private void CargaCatalogos()
        {
            // Almacenes
            ComboBoxUI.ComboAlmacen(ref Combo_Almacen, _sesion, false);
            // Colaboradores
            ComboBoxUI.ComboColaborador_Ventas(ref Combo_Colaborador, _sesion, false);
            //Sucursales
            ComboBoxUI.ComboSucursales(ref Combo_Sucursal, _sesion, false);
            //Formas de Pago
            ComboBoxUI.ComboFormaPago(ref Combo_FormaPago, _sesion, false);
            //Métodos de Pago
            ComboBoxUI.ComboMetodoPago(ref Combo_MetodoPago, _sesion, false);
            //Artículos
            ComboBoxUI.ComboArticulos_AutoComplete_Ventas(ref Combo_ArticulosAutoComplete, _sesion, "");
            
            //if (Combo_ArticulosAutoComplete.Items.Count > 0)
            //    Combo_ArticulosAutoComplete.SelectedIndex = 0;
        }

        private void CargaDatos()
        {
            var db = new SIIE_ERP.BaseDatos.Ventas.Transacciones.Documento_Ventas(_sesion.RFC, _sesion.UserName);
            var dato = db.Get_Documento_By_Id(SIIE_ERP.BaseDatos.Documentos_Id.Doc_Pedido, Id).Rows[0];

            if (String.IsNullOrEmpty(dato["Id_Almacen"].ToString()))
                Combo_Almacen.SelectedIndex = 0;
            else
                Combo_Almacen.SelectedValue = dato["Id_Almacen"].ToString();

            if (String.IsNullOrEmpty(dato["Id_Colaborador"].ToString()))
                Combo_Colaborador.SelectedIndex = 0;
            else
                Combo_Colaborador.SelectedValue = dato["Id_Colaborador"].ToString();

            if (String.IsNullOrEmpty(dato["Id_Sucursal"].ToString()))
                Combo_Sucursal.SelectedIndex = 0;
            else
                Combo_Sucursal.SelectedValue = dato["Id_Sucursal"].ToString();

            if (String.IsNullOrEmpty(dato["Id_FormaPago"].ToString()))
                Combo_FormaPago.SelectedIndex = 0;
            else
                Combo_FormaPago.SelectedValue = dato["Id_FormaPago"].ToString();

            if (String.IsNullOrEmpty(dato["Id_MetodoPago"].ToString()))
                Combo_MetodoPago.SelectedIndex = 0;
            else
                Combo_MetodoPago.SelectedValue = dato["Id_MetodoPago"].ToString();

            Label_Estatus.Content = Get_EstatusDocs_Id.Get_Estatus_Desc((EstatusDocs_Id)Int32.Parse(dato["Estatus"].ToString()));

            if (String.IsNullOrEmpty(dato["Desc_Campana"].ToString()))
                Label_Campana.Content = "Sin Campaña";
            else
                Label_Campana.Content = dato["Desc_Campana"].ToString();

            Label_Saldo.Content = Double.Parse(dato["Saldo"].ToString()).ToString("C");
            Label_Subtotal.Content = Double.Parse(dato["Subtotal"].ToString()).ToString("C");
            Label_Total.Content = Double.Parse(dato["Total"].ToString()).ToString("C");
            Label_Descuento.Content = Double.Parse(dato["Descuento"].ToString()).ToString("C");
            Label_Impuestos.Content = Double.Parse(dato["Impuesto"].ToString()).ToString("C");

            Label_Partidas.Content = dato["Partidas"].ToString();
            Label_Moneda.Content = dato["Desc_Moneda"].ToString();
            Label_RFC_Cliente.Content = dato["Desc_Cliente"].ToString();
            Label_Serie.Content = dato["Desc_Serie"].ToString();
            Label_Secuencia.Content = dato["Secuencia"].ToString();

            TextBox_Descripcion.Text = dato["Descripcion"].ToString();
            TextBox_Referencia.Text = dato["Referencia"].ToString();
            TextBox_Encabezado.Text = dato["Encabezado"].ToString();
            TextBox_Pie.Text = dato["Pie"].ToString();

            Fecha_FechaCreacion.SelectedDate = DateTime.Parse(dato["Fecha_Documento"].ToString());
            Fecha_FechaEntrega.SelectedDate = DateTime.Parse(dato["Fecha_Entrega"].ToString());
            Fecha_FechaVencimiento.SelectedDate = DateTime.Parse(dato["Fecha_Vencimiento"].ToString());

            if ((EstatusDocs_Id)Int32.Parse(dato["Estatus"].ToString()) == EstatusDocs_Id.Estatus_Doc_Cancelado)
            {
                ButtonF2.IsEnabled = false;
                ButtonF3.IsEnabled = false;
                ButtonF4.IsEnabled = false;
                ButtonF7.IsEnabled = false;

                Button_Guardar_Copy.IsEnabled = false;
                Button_Guardar.IsEnabled = false;
                DatosDataGrid.Columns[0].Visibility = System.Windows.Visibility.Hidden;

                Combo_Almacen.IsEnabled = false;
                Combo_ArticulosAutoComplete.IsEnabled = false;
                Combo_Colaborador.IsEnabled = false;
                Combo_FormaPago.IsEnabled = false;
                Combo_MetodoPago.IsEnabled = false;
                Combo_Sucursal.IsEnabled = false;

                TextBox_ArtCantidad.IsEnabled = false;
                TextBox_ArtDescuento.IsEnabled = false;
                TextBox_ArtObservaciones.IsEnabled = false;
                TextBox_ArtTotal.IsEnabled = false;
                TextBox_Descripcion.IsEnabled = false;
                TextBox_Encabezado.IsEnabled = false;
                TextBox_Pie.IsEnabled = false;
                TextBox_Referencia.IsEnabled = false;

                Fecha_FechaCreacion.IsEnabled = false;
                Fecha_FechaEntrega.IsEnabled = false;
                Fecha_FechaVencimiento.IsEnabled = false;
            }

            LlenarGrid();
        }

        public void LlenarGrid()
        {
            var dt = Documentos_Lineas.Get_Lineas(Id, Documentos_Id.Doc_Pedido).Rows;
            DatosDataGrid.Items.Clear();

            foreach (DataRow d in dt)
            {
                DatosDataGrid.Items.Add(
                    new CLinea(
                        d["Desc_Articulo"].ToString(),
                        d["Cantidad"].ToString(),
                        d["Desc_UM"].ToString(),
                        d["Precio_Unitario"].ToString(),
                        d["Porc_Descuento"].ToString(),
                        d["Precio_SubTotal"].ToString(),
                        d["Porc_Impuesto"].ToString(),
                        d["Precio_Total"].ToString(),
                        d["Comentarios"].ToString(),
                        d["Id_Linea"].ToString(),
                        d["Id_Padre"].ToString()
                        ));
            }
        }

        private void Button_Guardar_Copy_Click(object sender, RoutedEventArgs e)
        {
            DocumentosVentasClass Aux = new DocumentosVentasClass(_sesion.UserName, _sesion.RFC);

            if (Fecha_FechaEntrega.SelectedDate == null)
            {
                MessageBox.Show("Favor de verificar la fecha de entrega.");
                return;
            }

            if (Fecha_FechaVencimiento.SelectedDate == null)
            {
                MessageBox.Show("Favor de verificar la fecha de vencimiento.");
                return;
            }

            if (Fecha_FechaCreacion.SelectedDate == null)
            {
                MessageBox.Show("Favor de verificar la fecha de creación.");
                return;
            }

            if (Aux.UpdateDocumento_Cabecera(
                    Id,
                    Documentos_Id.Doc_Pedido,
                    Int32.Parse(Combo_Almacen.SelectedValue.ToString()),
                    Int32.Parse(Combo_Colaborador.SelectedValue.ToString()),
                    Int32.Parse(Combo_Sucursal.SelectedValue.ToString()),
                    Int32.Parse(Combo_FormaPago.SelectedValue.ToString()),
                    Int32.Parse(Combo_MetodoPago.SelectedValue.ToString()),
                    Fecha_FechaCreacion.SelectedDate,
                    Fecha_FechaVencimiento.SelectedDate,
                    Fecha_FechaEntrega.SelectedDate,
                    TextBox_Descripcion.Text,
                    TextBox_Referencia.Text,
                    TextBox_Encabezado.Text,
                    TextBox_Pie.Text
                ).Id != 1)
            {
                MessageBox.Show("Error al modificar documento.");
            }
            else
            {
                MessageBox.Show("Cabecera del Documento modificada correctamente.");
            }
        }


        private void Combo_ArticulosAutoComplete_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (Combo_ArticulosAutoComplete.SelectedValue != null)
            {
                dbo_Cat_Articulo ArticuloAux = new dbo_Cat_Articulo(_sesion.RFC, _sesion.UserName);
                var db = new SIIE_ERP.BaseDatos.Ventas.Transacciones.Documento_Ventas(_sesion.RFC, _sesion.UserName);
                var dato = db.Get_Documento_By_Id(SIIE_ERP.BaseDatos.Documentos_Id.Doc_Pedido, Id).Rows[0];

                DataTable dt = ArticuloAux.Get_Articulo_Por_Id(Int32.Parse(Combo_ArticulosAutoComplete.SelectedValue.ToString()), Int32.Parse(dato["Id_Moneda"].ToString()));

                Label_ArtDescripcion.Content = dt.Rows[0]["Descripcion"].ToString();
                Label_ArtUnidadMedida.Content = dt.Rows[0]["Desc_UM"].ToString();

                Label_ArtIVA_Porc.Content = dt.Rows[0]["Desc_IVA"].ToString();

                TextBox_ArtCantidad.Text = "0.0";
                TextBox_ArtDescuento.Text = "0";
                TextBox_ArtObservaciones.Text = "";

                var A_PrecioTotal = Double.Parse(dt.Rows[0]["Precio_Lista"].ToString());
                var A_Cantidad = TextBox_ArtCantidad.Text;
                var A_PorcDescuento = TextBox_ArtDescuento.Text;
                var A_PorcIVA = Label_ArtIVA_Porc.Content;

                Id_ArticuloActual = Int32.Parse(dt.Rows[0]["Id_Articulo"].ToString());
                PrecioCostoOriginal = Double.Parse(dt.Rows[0]["Precio_Lista"].ToString());
                PrecioMinimoOriginal = Double.Parse(dt.Rows[0]["Precio_Minimo"].ToString());

                Label_ArtPrecioUnitario.Content = Double.Parse(DocumentosVentasCalculos.Get_PrecioUnitario_Final(A_PrecioTotal.ToString(), A_PorcIVA.ToString())).ToString("C");
                Label_ArtSubTotal.Content = Double.Parse(DocumentosVentasCalculos.Get_SubTotal_Final(A_PrecioTotal.ToString(), A_PorcDescuento.ToString(), A_PorcIVA.ToString(), A_Cantidad.ToString())).ToString("C");
                Label_ArtIVA.Content = Double.Parse(DocumentosVentasCalculos.Get_IVA_Final(A_PrecioTotal.ToString(), A_PorcDescuento.ToString(), A_PorcIVA.ToString(), A_Cantidad.ToString())).ToString("C");

                TextBox_ArtTotal.Text = Double.Parse(DocumentosVentasCalculos.Get_ArticuloTotal_Final(A_PrecioTotal.ToString(), A_PorcDescuento.ToString(), A_Cantidad.ToString())).ToString("C");
            }
        }

        private void Articulo_TextChanged(object sender, KeyboardFocusChangedEventArgs e)
        {
            if (Combo_ArticulosAutoComplete != null && Combo_ArticulosAutoComplete.SelectedItem != null)
            {
                if (((TextBox)sender).Name.Equals("TextBox_ArtTotal"))
                {
                    try
                    {
                        try
                        {
                            Double Aux2 = Double.Parse(TextBox_ArtTotal.Text);
                        }
                        catch (Exception )
                        {
                            TextBox_ArtTotal.Text = "0.0";
                        }

                        Double Aux = Double.Parse(TextBox_ArtTotal.Text);

                        if ((Double.Parse(TextBox_ArtDescuento.Text) != 0))
                            Aux = Aux / (1 - (Double.Parse(TextBox_ArtDescuento.Text) / 100));

                        if ((Double.Parse(TextBox_ArtCantidad.Text) != 0))
                            Aux = Aux / (Double.Parse(TextBox_ArtCantidad.Text));

                        var A_PrecioTotal = Aux;
                        var A_Cantidad = TextBox_ArtCantidad.Text;
                        var A_PorcDescuento = TextBox_ArtDescuento.Text;
                        var A_PorcIVA = Label_ArtIVA_Porc.Content;

                        Label_ArtPrecioUnitario.Content = Double.Parse(DocumentosVentasCalculos.Get_PrecioUnitario_Final(A_PrecioTotal.ToString(), A_PorcIVA.ToString())).ToString("C");
                        Label_ArtSubTotal.Content = Double.Parse(DocumentosVentasCalculos.Get_SubTotal_Final(A_PrecioTotal.ToString(), A_PorcDescuento.ToString(), A_PorcIVA.ToString(), A_Cantidad.ToString())).ToString("C");
                        Label_ArtIVA.Content = Double.Parse(DocumentosVentasCalculos.Get_IVA_Final(A_PrecioTotal.ToString(), A_PorcDescuento.ToString(), A_PorcIVA.ToString(), A_Cantidad.ToString())).ToString("C");
                        PrecioCostoOriginal = Aux;

                    }
                    catch (Exception)
                    {
                        TextBox_ArtTotal.Text = "0.0";
                    }
                }
                else
                {
                    try
                    {
                        Double Aux = Double.Parse(TextBox_ArtCantidad.Text);
                    }
                    catch (Exception)
                    {
                        TextBox_ArtCantidad.Text = "0.0";
                    }

                    try
                    {
                        Double Aux = Double.Parse(TextBox_ArtDescuento.Text);
                    }
                    catch (Exception)
                    {
                        TextBox_ArtDescuento.Text = "0";
                    }

                    var A_PrecioTotal = PrecioCostoOriginal;
                    var A_Cantidad = TextBox_ArtCantidad.Text;
                    var A_PorcDescuento = TextBox_ArtDescuento.Text;
                    var A_PorcIVA = Label_ArtIVA_Porc.Content;

                    Label_ArtPrecioUnitario.Content = Double.Parse(DocumentosVentasCalculos.Get_PrecioUnitario_Final(A_PrecioTotal.ToString(), A_PorcIVA.ToString())).ToString("C");
                    Label_ArtSubTotal.Content = Double.Parse(DocumentosVentasCalculos.Get_SubTotal_Final(A_PrecioTotal.ToString(), A_PorcDescuento.ToString(), A_PorcIVA.ToString(), A_Cantidad.ToString())).ToString("C");
                    Label_ArtIVA.Content = Double.Parse(DocumentosVentasCalculos.Get_IVA_Final(A_PrecioTotal.ToString(), A_PorcDescuento.ToString(), A_PorcIVA.ToString(), A_Cantidad.ToString())).ToString("C");

                    TextBox_ArtTotal.Text = DocumentosVentasCalculos.Get_ArticuloTotal_Final(A_PrecioTotal.ToString(), A_PorcDescuento.ToString(), A_Cantidad.ToString());
                }
            }
        }

        private void Button_Guardar_Click_1(object sender, RoutedEventArgs e)
        {
            if (Combo_ArticulosAutoComplete == null || Combo_ArticulosAutoComplete.SelectedItem == null)
            {
                MessageBox.Show("Favor de seleccionar un Artículo.");
                return;
            }

            try
            {
                Double Aux_Conv = Double.Parse(TextBox_ArtCantidad.Text);
            }
            catch (Exception Ex)
            {
                MessageBox.Show("Favor de ingresar una cantidad mayor a 0.");
                return;
            }

            if (Double.Parse(TextBox_ArtCantidad.Text) == 0)
            {
                MessageBox.Show("Favor de ingresar una cantidad mayor a 0.");
                return;
            }

            if (Math.Round((float.Parse(TextBox_ArtTotal.Text) / float.Parse(TextBox_ArtCantidad.Text)), 2) < Math.Round(PrecioMinimoOriginal, 2))
            {
                MessageBox.Show("No puedes vender a un artículo con un Precio Mínimo al establecido.");
                return;
            }

            if (
            Documentos_Lineas.Insert_Linea(
                _sesion.RFC,
                _sesion.UserName,
                Id,
                Documentos_Id.Doc_Pedido,
                Id_ArticuloActual,
                Double.Parse(TextBox_ArtCantidad.Text),
                Double.Parse(Label_ArtPrecioUnitario.Content.ToString(), NumberStyles.Currency),
                Double.Parse(TextBox_ArtDescuento.Text, NumberStyles.Currency),
                (Double.Parse(TextBox_ArtTotal.Text) / (1 - ((Double.Parse(TextBox_ArtDescuento.Text)) / 100))) - Double.Parse(TextBox_ArtTotal.Text),
                Double.Parse(Label_ArtIVA_Porc.Content.ToString()),
                Double.Parse(Label_ArtIVA.Content.ToString(), NumberStyles.Currency),
                Double.Parse(Label_ArtSubTotal.Content.ToString(), NumberStyles.Currency),
                Double.Parse(TextBox_ArtTotal.Text),
                TextBox_ArtObservaciones.Text
            ).Id == 1)
            {
                CargaDatos();

                TextBox_ArtCantidad.Text = "1";
                TextBox_ArtObservaciones.Text = "";
                Combo_ArticulosAutoComplete.SelectedItem = null;

                MessageBox.Show("Artículo Agregado Correctamente.");
            }
            else
            {
                MessageBox.Show("Error Agregando Artículo.");
            }

            CargaDatos();
        }

        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            CLinea obj = ((FrameworkElement)sender).DataContext as CLinea;

            Documentos_Lineas.Delete_Linea(
                Int32.Parse(obj.Id_Linea),
                Int32.Parse(obj.Id_Padre),
                Documentos_Id.Doc_Pedido
            );

            CargaDatos();
        }

        private void ButtonRegresar_Click_1(object sender, RoutedEventArgs e)
        {
            _tabControlPadre.Items.Remove(_tabItemPadre);
        }

        //Remisión
        private void ButtonF1_Click_2(object sender, RoutedEventArgs e)
        {
            Documento_Ventas Doc_C = new Documento_Ventas(_sesion.RFC, _sesion.UserName);
            int Secuencia = Doc_C.Conversion(Id, Documentos_Id.Doc_Pedido, Documentos_Id.Doc_Remision);
            Respuesta R = Doc_C.Updata_Documento_Estatus(Id, Documentos_Id.Doc_Pedido, EstatusDocs_Id.Estatus_Doc_Remision);

            if (Secuencia == -1)
            {
                MessageBox.Show("Error");
            }
            else
            {
                _tabControlPadre.Items.Remove(_tabItemPadre);
                SIIE_ERP.View.NavegacionUI.AbrirPestanaEditar(Secuencia.ToString(),
                                                         typeof(Remision_Edita),
                                                         ref _tabControlPadre, _sesion);
            }
        }

        //Factura
        private void ButtonF1_Click_3(object sender, RoutedEventArgs e)
        {
            if (Int32.Parse(Combo_Almacen.SelectedValue.ToString()) == -1)
            {
                MessageBox.Show("Para crear una factura debe de seleccionar un Almacén");
                return;
            }
            if (Int32.Parse(Combo_Colaborador.SelectedValue.ToString()) == -1)
            {
                MessageBox.Show("Para crear una factura debe de seleccionar un Colaborador");
                return;
            }
            if (Int32.Parse(Combo_FormaPago.SelectedValue.ToString()) == -1)
            {
                MessageBox.Show("Para crear una factura debe de seleccionar una Forma de Pago");
                return;
            }
            if (Int32.Parse(Combo_MetodoPago.SelectedValue.ToString()) == -1)
            {
                MessageBox.Show("Para crear una factura debe de seleccionar un Método de Pago");
                return;
            }
            if (Int32.Parse(Combo_Sucursal.SelectedValue.ToString()) == -1)
            {
                MessageBox.Show("Para crear una factura debe de seleccionar una Sucursal");
                return;
            }

            Documento_Ventas Doc_C = new Documento_Ventas(_sesion.RFC, _sesion.UserName);
            int Secuencia = Doc_C.Conversion(Id, Documentos_Id.Doc_Pedido, Documentos_Id.Doc_FacturaCliente);

            Respuesta R = Doc_C.Updata_Documento_Estatus(Id, Documentos_Id.Doc_Pedido, EstatusDocs_Id.Estatus_Doc_Factura);

            if (Secuencia == -1)
            {
                MessageBox.Show("Error");
            }
            else
            {
                _tabControlPadre.Items.Remove(_tabItemPadre);
                SIIE_ERP.View.NavegacionUI.AbrirPestanaEditar(Secuencia.ToString(),
                                                         typeof(Factura_Edita),
                                                         ref _tabControlPadre, _sesion);
            }
        }

        //Cancelar
        private void ButtonF1_Click_4(object sender, RoutedEventArgs e)
        {
            Documento_Ventas Doc_C = new Documento_Ventas(_sesion.RFC, _sesion.UserName);
            Respuesta R = Doc_C.Updata_Documento_Estatus(Id, Documentos_Id.Doc_Pedido, EstatusDocs_Id.Estatus_Doc_Cancelado);

            if (R.Id != 1)
            {
                MessageBox.Show("Error");
            }
            else
            {
                _tabControlPadre.Items.Remove(_tabItemPadre);
                SIIE_ERP.View.NavegacionUI.AbrirPestanaEditar(Id.ToString(),
                                                         typeof(Pedido_Edita),
                                                         ref _tabControlPadre, _sesion);
            }
        }

        //Documentos Relacionados
        private void ButtonF1_Click_5(object sender, RoutedEventArgs e)
        {
            WindowRelacion Relacion = new Elysium.Demo.WindowRelacion(Id, Documentos_Id.Doc_Pedido);
            Relacion.Owner = SIIE_ERP.View.NavegacionUI.GetParentWindow(this); Relacion.ShowDialog();
        }

        //Duplicar
        private void ButtonF1_Click_6(object sender, RoutedEventArgs e)
        {
            Documento_Ventas Doc_C = new Documento_Ventas(_sesion.RFC, _sesion.UserName);
            int Secuencia = Doc_C.Conversion(Id, Documentos_Id.Doc_Pedido, Documentos_Id.Doc_Pedido);

            if (Secuencia == -1)
            {
                MessageBox.Show("Error");
            }
            else
            {
                _tabControlPadre.Items.Remove(_tabItemPadre);
                SIIE_ERP.View.NavegacionUI.AbrirPestanaEditar(Secuencia.ToString(),
                                                         typeof(Pedido_Edita),
                                                         ref _tabControlPadre, _sesion);
            }
        }

        //Imprimir
        private void ButtonF1_Click_7(object sender, RoutedEventArgs e)
        {
            SIIE_ERP.View.NavegacionUI.AbrirPestanaNuevo(typeof(GenericReport_Impresiones),
                                                         ref _tabControlPadre, _sesion, "Informes/Reportes/RPT_Pedido_Cliente.rdlc", this.Id);
        }

        private void ButtonInformacion_Click_1(object sender, RoutedEventArgs e)
        {
            WindowAyuda Ayuda = new Elysium.Demo.WindowAyuda("Pedidos.htm", "Ayuda");
            Ayuda.Owner = SIIE_ERP.View.NavegacionUI.GetParentWindow(this); Ayuda.ShowDialog();
        }
    }
}
